package Sources;


import java.util.*;
import Informations.*;
import Destinations.*;
import Transmetteurs.*;
import Sources.*;
import Sondes.*;
import Recepteurs.*;


/**
 * Classe SourceAleatoire heritant d'un composant source
 * d'informations dont les elements sont de type Boolean
 * @author NANOUS
 * @author GUEYE
 * @author NDIAYE
 */




public class SourceAleatoire extends Source<Float> {

	
	/**
	 * constructeur
	 * @param taille: le nbre par bit de la source a generer
	 */
	
public SourceAleatoire(int taille) {
	Random r=new Random(taille);
	LinkedList<Float> infoEmise = new LinkedList<Float>();
	for (int i=0;i<taille;i++){
		infoEmise.add(r.nextFloat());	
		
		Information <Float> init = new Information <Float> (infoEmise.toArray(new Float[0]));
		informationGeneree = init ;
		informationEmise = informationGeneree;
	}
	
	
	
}

	/**
	 * pour emettre l'information  contenue dans la source  
	 * @throws InformationNonConforme 
	 */
	public void emettre() throws InformationNonConforme{
		for (DestinationInterface <Float> destination : destinationsConnectees) {
			destination.recevoir(informationGeneree);	
		
			}
	
	

}
}
